home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 8 / FM Towns Free Software Collection 8.iso / t_os / zousan / src / tiff2.h < prev    next >
Text File  |  1994-06-01  |  2KB  |  115 lines

  1. /*
  2.  *   Tiff Load/Save function 2    By N.Takahashi
  3.  *
  4.  *       ver1.1 1994/02/02    Tiff LZW圧縮/展開 サポート
  5.  *       ver0.2 1994/01/30    Tiff 関数コール変更 + ファイル名変更
  6.  *       -----------------------
  7.  *       ver0.1 1993/11/15  初版
  8.  */
  9.  
  10. #ifndef __U_TIFF
  11. #define __U_TIFF
  12.  
  13. #ifndef __U_PALETTE
  14. #define __U_PALETTE
  15.  
  16. typedef struct palette256 {
  17.     unsigned short red[256];
  18.     unsigned short green[256];
  19.     unsigned short blue[256];
  20. } PALETTE256;
  21.  
  22. typedef struct palette16 {
  23.     unsigned short red[16];
  24.     unsigned short green[16];
  25.     unsigned short blue[16];
  26. } PALETTE16;
  27.  
  28. #endif        /* __U_PALETTE */
  29.  
  30.  
  31. /* Tiff_xxx アクセス構造体
  32.    xsize , ysize = 画像サイズ
  33.    color  = 色数
  34.    gmem   = 画像データ
  35.    gmsize = 画像サイズ
  36.    pmem   = パレットデータ
  37.    pmsize = パレットサイズ
  38.    comp   = 圧縮形式
  39. */
  40. typedef struct tiff {
  41.     int xsize;
  42.     int ysize;
  43.     int color;
  44.     int comp;
  45.     int gmsize;
  46.     int pmsize;
  47.     char *gmem;
  48.     char *pmem;
  49. } Tiff;
  50.  
  51.  
  52. /* エラーメッセージ */
  53. #define Tiff__OK        0
  54. #define Tiff__NOOPEN    1
  55. #define Tiff__NOREAD    2
  56. #define Tiff__NOTIFF    3
  57. #define Tiff__NOCOMP    4
  58. #define Tiff__NOMEM        5
  59. #define Tiff__ILLCOL    6
  60. #define Tiff__ILLCOMP    7
  61. #define Tiff__ILLCALL    8
  62.  
  63. extern char *Tiff_err[];
  64.  
  65.  
  66. /* Prototype function */
  67. Tiff *Tiff_new( void );
  68. void Tiff_delete( Tiff *tp );
  69. int Tiff_setgraph( Tiff *tp, int xsize, int ysize, int color, void *gmem, void *pmem );
  70. int Tiff_getgraph( int *xsize, int *ysize, int *color, char **gmem, char **pmem, Tiff *tp );
  71. int Tiff_save( char *fn, Tiff *tp );
  72. int Tiff_load( char *fn, Tiff *tp );
  73. int Tiff_decompress( Tiff *tp );
  74. int Tiff_compress( Tiff *tp );
  75. int Tiff_make_palette( Tiff *tp );
  76.  
  77.  
  78. #endif        /* __U_TIFF */
  79.  
  80. /* 関数一覧 */
  81.  
  82. /*
  83. 1   関数 Tiff_new : Tiff初期化
  84.    戻り値 = Tiff *tp   <- これを使って以降の関数を呼び出す。
  85.  
  86. 2   関数 Tiff_delete : Tiff削除
  87.    Tiff *tp の実体を削除する。
  88.  
  89. 3   関数 Tiff_setgraph : (非圧縮)画像データ設定
  90.    xsize , ysize = 画像サイズ
  91.    color  = 色数
  92.    gmem   = 画像データ
  93.    pmem   = パレットデータ
  94.  
  95. 4   関数 Tiff_getgraph : (非圧縮)画像データ読みだし
  96.    xsize , ysize = 画像サイズ
  97.    color  = 色数
  98.    gmem   = 画像データ
  99.    pmem   = パレットデータ
  100.  
  101. 5   関数 Tiff_save : Tiff形式セーブ
  102.    fn = ファイル名
  103.  
  104. 6   関数 Tiff_load : Tiff形式ロード
  105.    fn = ファイル名
  106.  
  107. 7   関数 Tiff_decompress : Tiff LZW展開
  108.  
  109. 8   関数 Tiff_compress : Tiff LZW圧縮
  110.  
  111. 9   関数 Tiff_make_palette : Tiffパレット作成
  112.  
  113. */
  114.  
  115.